package day05;

import java.util.Arrays;

/**
 * @author yzh
 * @desc TODO
 * @date 2025/4/14
 */
public class ArrayResize {
    public static void main(String[] args) {
        int[] array = null;

        for (int i = 1; i <= 10; i++) {
            array = addElement(array, i);
            System.out.print("添加" + i + "后: ");
            System.out.println(Arrays.toString(array));
        }
    }

    public static int[] addElement(int[] arr, int element) {
        // 如果原数组为null，创建长度为1的新数组
        if (arr == null) return new int[]{element};

        // 查找第一个0的位置（假设0表示空位）
        int emptyIndex = -1;
        for (int i = 0; i < arr.length; i++) {
            if (arr[i] == 0) {
                emptyIndex = i;
                break;
            }
        }

        // 如果有空位就直接插入
        if (emptyIndex != -1) {
            arr[emptyIndex] = element;
            return arr;
        }

        // 没有空位则扩容
        int[] newArray = new int[arr.length*3/2+1];
        System.arraycopy(arr, 0, newArray, 0, arr.length);
        newArray[arr.length] = element;
        return newArray;
    }
}
